package com.czp.role.service;

import com.czp.role.model.RelationMenu;
import com.czp.role.model.Role;

/**
 * 【环 境】：J2SE 1.7
 * @author   柴志鹏	CHAIZP@GMAIL.COM
 * @version  version 1.0
 * @since    2014-6-16
 */
public interface IRoleService {
	/** 
	 * 【描 述】：查询角色信息
	 * @param Role角色
	 * @return 角色集合
	 * @throws Exception
	 */
	String getRoleList(Role role) throws Exception;
	
	/** 
	 * 【描 述】：添加、修改、删除批处理
	 * @param jsonData
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int roleOperator(String jsonData) throws Exception;
	
	/** 
	 * 【描 述】：通过角色ID查询菜单关联项
	 * @param Role(角色Id, start起始, limit限量)
	 * @return 菜单Json
	 * @throws Exception
	 */
	String getRelationMenuList(Role role) throws Exception;
	
	/** 
	 * 【描 述】：根据角色Id删除菜单关联项
	 * @param jsonData角色Id
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int deleteRelationMenu(String jsonData) throws Exception;
	
	/** 
	 * 【描 述】：授权或取消功能菜单
	 * @param jsonData(角色Id，菜单Id)
	 * @return 被影响的数量
	 * @throws Exception
	 */
	int relationMenuController(String jsonData) throws Exception;
	
	/** 
	 * 【描 述】：查询功能菜单与授权情况
	 * @param RelationMenu(roleId,pid,menuType)
	 * @return 菜单集合Json
	 * @throws Exception
	 */
	String queryRelationMenu(RelationMenu relMenu) throws Exception;
}
